package pe.gob.minam.sismon.core.domain;

// Generated 10/06/2013 05:19:41 PM by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * SegPerfil generated by hbm2java
 */
@Entity
@Table(name = "SEG_PERFIL")
public class SegPerfil implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Integer idPerfil;
	private GnrSistema gnrSistema;
	private String nombreCorto;
	private String nombreLargo;
	private String descripcion;
	private String estado;
	private String codRegistro;
	private String codigoHost;
	private String codigoSistema;
	private Date fecRegistro;
	private String codActualizacion;
	private Date fecActualizacion;
	private List<SegPerfilOpcion> segPerfilOpcions = new ArrayList<SegPerfilOpcion>(0);

	public SegPerfil() {
	}

	public SegPerfil(Integer idPerfil) {
		this.idPerfil = idPerfil;
	}

	public SegPerfil(Integer idPerfil, GnrSistema gnrSistema,
			String nombreCorto, String nombreLargo, String descripcion,
			String estado, String codRegistro, Date fecRegistro,
			String codActualizacion, Date fecActualizacion,
			List<SegPerfilOpcion> segPerfilOpcions) {
		this.idPerfil = idPerfil;
		this.gnrSistema = gnrSistema;
		this.nombreCorto = nombreCorto;
		this.nombreLargo = nombreLargo;
		this.descripcion = descripcion;
		this.estado = estado;
		this.codRegistro = codRegistro;
		this.fecRegistro = fecRegistro;
		this.codActualizacion = codActualizacion;
		this.fecActualizacion = fecActualizacion;
		this.segPerfilOpcions = segPerfilOpcions;
	}

	@Id
	@Column(name = "ID_PERFIL", unique = true, nullable = false, precision = 22, scale = 0)
	@GeneratedValue(strategy=GenerationType.AUTO, generator="SQ_SEG_PERFIL")
	@SequenceGenerator(name="SQ_SEG_PERFIL", sequenceName="SQ_SEG_PERFIL")
	public Integer getIdPerfil() {
		return this.idPerfil;
	}

	public void setIdPerfil(Integer idPerfil) {
		this.idPerfil = idPerfil;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "ID_SISTEMA")
	public GnrSistema getGnrSistema() {
		return this.gnrSistema;
	}

	public void setGnrSistema(GnrSistema gnrSistema) {
		this.gnrSistema = gnrSistema;
	}

	@Column(name = "NOMBRE_CORTO", nullable = false, length = 10)
	public String getNombreCorto() {
		return this.nombreCorto;
	}

	public void setNombreCorto(String nombreCorto) {
		this.nombreCorto = nombreCorto;
	}

	@Column(name = "NOMBRE_LARGO", nullable = false, length = 20)
	public String getNombreLargo() {
		return this.nombreLargo;
	}

	public void setNombreLargo(String nombreLargo) {
		this.nombreLargo = nombreLargo;
	}

	@Column(name = "DESCRIPCION", nullable = false, length = 100)
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "ESTADO", nullable = false, length = 1)
	public String getEstado() {
		return this.estado;
	}

	public void setEstado(String estado) {
		this.estado = estado;
	}
	
	
	@Column(name = "CODIGO_HOST", nullable = false, length = 4)
	public String getCodigoHost() {
		return codigoHost;
	}

	public void setCodigoHost(String codigoHost) {
		this.codigoHost = codigoHost;
	}
		
	@Column(name = "CODIGO_SISTEMA", nullable = false, length = 5)
	public String getCodigoSistema() {
		return codigoSistema;
	}

	public void setCodigoSistema(String codigoSistema) {
		this.codigoSistema = codigoSistema;
	}

	@Column(name = "COD_REGISTRO", length = 8)
	public String getCodRegistro() {
		return this.codRegistro;
	}

	public void setCodRegistro(String codRegistro) {
		this.codRegistro = codRegistro;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FEC_REGISTRO", length = 7)
	public Date getFecRegistro() {
		return this.fecRegistro;
	}

	public void setFecRegistro(Date fecRegistro) {
		this.fecRegistro = fecRegistro;
	}

	@Column(name = "COD_ACTUALIZACION", length = 8)
	public String getCodActualizacion() {
		return this.codActualizacion;
	}

	public void setCodActualizacion(String codActualizacion) {
		this.codActualizacion = codActualizacion;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FEC_ACTUALIZACION", length = 7)
	public Date getFecActualizacion() {
		return this.fecActualizacion;
	}

	public void setFecActualizacion(Date fecActualizacion) {
		this.fecActualizacion = fecActualizacion;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "segPerfil")
	public List<SegPerfilOpcion> getSegPerfilOpcions() {
		return this.segPerfilOpcions;
	}

	public void setSegPerfilOpcions(List<SegPerfilOpcion> segPerfilOpcions) {
		this.segPerfilOpcions = segPerfilOpcions;
	}
	

}
